package it.slothy.noveleditor.classes.elements;

import it.slothy.noveleditor.enumaration.VNEnumObject;

import java.util.EnumMap;
import java.util.HashMap;

public abstract class VNObject extends VNElement{
	
	//Struttura Dati
	//HashMapTable => ad ogni String key associa un ArrayList con la Lista degli oggetti relativi
	public static EnumMap<VNEnumObject, HashMap<String, VNObject>> objects = new EnumMap<VNEnumObject, HashMap<String, VNObject>>(VNEnumObject.class);

	protected String name;
	protected VNEnumObject enumOBJ;
	
	protected int getValidID(){
		int valid = 0;
		/*ArrayList<VNObject> objs = objects.get(enumOBJ);
		
		for(int i=0; i<objs.size(); i++){
			VNObject vnObj = objs.get(i);
			
			if(valid == vnObj.getId()){
				//ricomincio la ricerca
				valid++;
				i = 0;
				continue;
			}
		}
		*/
		return valid;
	}
	
	public VNObject(VNEnumObject vne, String n){
		//Setto il name e carico il prossimo ID disponibile nella lista
		super();
		this.name = n;
		this.enumOBJ = vne;
		
		//Addo all'archivio dei VNObjects
		objects.get(this.enumOBJ).put(name, this);
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
	
	//Metodo di test! non esiste nel progetto!!!
	public void execute(){
		
	}

}
